Strukturbezogener Vergleich von Modellversionen mit graphbasierten Optimierungsalgorithmen
نویسندگان
چکیده
Der Einsatz von modellgetriebener Entwicklung in der industriellen Praxis setzt insbesondere voraus, dass die Versionskontrolle für Modelle adäquat unterstützt wird. In diesem Zusammenhang spielen Algorithmen zum Vergleich von Modellversionen eine zentrale Rolle. Die bisher entwickelten Algorithmen sind Heuristiken, die teilweise eindeutige Objektbezeichner voraussetzen. In diesem Aufsatz beschreiben wir ein von eindeutigen Objektbezeichnern unabhängiges, strukturbezogenes Verfahren zum Vergleich von Modellversionen. Der Vergleich wird auf ein Optimierungsproblem abgebildet, das mit einem graphbasierten Algorithmus gelöst wird. Der Algorithmus ist als Bestandteil eines EMF-basierten Rahmenwerks implementiert, das die Integration und Evaluation alternativer Vergleichsalgorithmen unterstützt. 1 Einleitung und Abgrenzung zu verwandten Arbeiten Modellgetriebene Softwareentwicklung zielt darauf ab, den Aufwand zur Erstellung komplexer Softwaresysteme mit Hilfe von ausführbaren Modellen zu reduzieren, die auf einer höheren Abstraktionsebene liegen als Programmcode. Die Anwendung modellgetriebener Softwareentwicklung in der industriellen Praxis wird u.a. dadurch gehemmt, dass die Versionskontrolle für Modelle noch nicht ausreichend unterstützt wird. Defizite bestehen insbesondere hinsichtlich der Verfahren zum Vergleich und zum Mischen von Modellversionen [FW07, BE09]. In diesem Aufsatz beschränken wir uns auf den Vergleich von Modellversionen. Traditionelle textbasierte Verfahren, wie sie seit langer Zeit in Systemen zur Softwarekonfigurationsverwaltung eingesetzt werden [HS77], haben sich als ungeeignet erwiesen, da sie zeilenund nicht strukturbasiert arbeiten und ein Vergleich auf der Ebene von Textrepräsentationen, die als Speicherformat dienen, keine sinnvollen Resultate auf konzeptioneller Ebene liefert. Dies hat die Entwicklung von strukturbezogenen Verfahren motiviert, die jedoch bisher unter folgenden Beschränkungen leiden: Viele Verfahren setzen eindeutige Objektbezeichner voraus, um “gleiche” Objekte miteinander zu identifizieren [MGH05, OWK03, RW98, AP03]. Dies erleichtert den Vergleich erheblich, da nicht mehr nach Korrespondenzen gesucht werden muss. Auf eindeutigen Objektbezeichnern basierende Verfahren haben jedoch eine Reihe gravierender 1 Angewandte Informatik I, Universität Bayreuth, 95440 Bayreuth, [email protected] 2 Angewandte Informatik I, Universität Bayreuth, 95440 Bayreuth, [email protected] 238 Sabrina Uhrig und Bernhard Westfechtel Nachteile. Sie sind nur innerhalb eines Werkzeugs einsetzbar, das diese Bezeichner vergibt. Beim Austausch von Modellen über Werkzeuggrenzen hinweg können die Objektbezeichner jedoch verloren gehen. Weiterhin hängt das Ergebnis des Vergleichs von der Ediergeschichte ab. Schließlich liefert selbst innerhalb eines Werkzeugs ein Vergleich keine sinnvollen Ergebnisse, wenn die Versionen unabhängig voneinander entstanden sind. Einige Verfahren verwenden zwar keine eindeutigen Objektbezeichner, identifizieren jedoch Objekte über vom Modellierer vergebene Namen. Namen werden als Orientierungspunkte verwendet, die den weiteren Vergleich steuern [XS05, BP08, KWN05]. Werden die Namen geändert, so schlägt die Identifikation fehl. Alle bekannten Verfahren sind Heuristiken und verfolgen dabei unterschiedliche Strategien: Bei SiDiff [KWN05] sowie UMLDiff [XS05] erfolgt das Matching auf der Basis lokaler Entscheidungen mit Hilfe heuristischer Ähnlichkeitsfunktionen. Die wesentlichen Unterschiede bestehen in der Abarbeitungsreihenfolge und im verwendeten Datenmodell. Der in SiDiff verwendete Baum aus Kompositionsbeziehungen erweitert durch Querverweise wird zunächst bottom-up durchlaufen, wobei die paarweisen Ähnlichkeitswerte für die jeweiligen Elemente eines Typs ermittelt werden. Können Elemente (typischerweise über ihre Namensattribute) eindeutig zugeordnet werden, werden die Ähnlichkeitswerte noch nicht zugeordneter Söhne angepasst, woraus sich weitere Zuordnungen ergeben können. UMLDiff hingegen verfolgt einen Top-Down-Ansatz und arbeitet auf aus Quellcode generierten UML-Klassendiagrammen, wodurch mehr Information in die Ähnlichkeitsberechnung einfließen kann. EMFCompare [BP08] ist aufgrund der Top-Down-Durchlaufstrategie dem UMLDiff-Verfahren nach eigener Auskunft am ähnlichsten, hat diesen Ansatz jedoch auf EMF-Modelle verallgemeinert. Einen völlig anderen Ansatz verfolgt SimilarityFlooding [MGMR02]. In diesem Matching-Verfahren auf Graphen mit Kantenmarkierungen werden die Ähnlichkeitswerte, ausgehend von den Ähnlichkeiten der Namen, über eine Fixpunktiteration an die Nachbarelemente propagiert. Die Ähnlichkeitswerte sind auch hier heuristisch, werden aber global berechnet, die korrespondierenden Elemente werden nach Abschluss der Berechnung über verschiedene Metriken ausgewählt. Das Verfahren wurde unseres Wissens nicht auf Klassendiagramme übertragen. Alle diese Verfahren basieren nicht auf einem mathematisch definierten Optimierungskriterium, so dass sich über die Optimalität der berechneten Lösung keine Aussage treffen lässt. Dies erschwert die Bewertung der Verfahren erheblich, zumal keine allgemein akzeptierten Benchmarks zur Verfügung stehen. In diesem Aufsatz beschreiben wir ein strukturbezogenes Verfahren zum Vergleich von Modellversionen [Uhr08], das sich durch folgende Eigenschaften auszeichnet: Unabhängigkeit von eindeutigen Objektbezeichnern Es werden keine eindeutigen Objektbezeichner vorausgesetzt. Das Ergebnis des Vergleichs hängt nicht von werkzeugspezifischen Zusatzinformationen, sondern nur von den logischen Inhalten der zu vergleichenden Modelle ab. Definiertes Optimalitätskriterium Das Verfahren basiert auf einem Kostenmodell, das Edieroperationen auf Modellen und daraus gebildeten Edierskripten Kosten zuordnet. Gesucht wird ein Edierskript mit minimalen Kosten, das das Ausgangsmodell in das Zielmodell des Vergleichs überführt. Vergleich von Modellversionen mit graphbasierten Optimierungsalgorithmen 239 Diagramm A Diagramm B Abb. 1: Beispiel: Vergleich von Klassendiagrammen Geringe Sensitivität gegenüber Namensänderungen Beim strukturellen Vergleich werden Namen als gewöhnliche Attribute behandelt (nicht als Orientierungspunkte). Bei hinreichend hoher struktureller Übereinstimmung werden auch unterschiedlich benannte Modellelemente miteinander identifiziert. Verwendung von Optimierungsalgorithmen aus der Graphentheorie Der Vergleich von Modellversionen wird in ein Optimierungsproblem transferiert, das mit bekannten Algorithmen aus der Graphentheorie gelöst werden kann. Implementierung in einem EMF-basierten Rahmenwerk Das Verfahren ist in einem EMF-basierten Rahmenwerk implementiert, das die Integration alternativer Vergleichsalgorithmen unterstützt und damit das Experimentieren mit und das Evaluieren von Algorithmen zum Vergleich von Modellversionen ermöglicht.
منابع مشابه
Konkurrenz und Kooperation in Erweiterten Evolutionären Algorithmen
Die Optimierung komplexer Systeme stellt eine herausfordernde Aufgabe dar. Ihre Meisterung ist nur durch die Kombination von leistungsfähigen Optimierungsalgorithmen und Analysetools möglich. Viele der bekannten Algorithmen lassen sich nicht auf die Lösung großer Probleme skalieren. Neue bzw. erweiterte Methoden der bekannten Verfahren müssen gesucht werden, die Lösungen selbst in den riesigen ...
متن کاملVergleich von Geschwindigkeitsfunktionen zur Segmentierung der Koronararterien aus CT-Volumina mit Front-Propagation-Algorithmen
@inproceedings{stehleBVM2006, author = {Thomas H. Stehle and Olivier Ecabert}, title = {Vergleich von Geschwindigkeitsfunktionen zur Segmentierung der Koronararterien aus CT-Volumina mit Front-Propagation-Algorithmen}, booktitle = {Bildverarbeitung f\"{u}r die Medizin}, editor = {H.\ Handels and J. Ehrhardt and A. Horsch and H.-P. Meinzer and T. Tolxdorff}, publisher = {Springer Verlag (Informa...
متن کاملSemantische Lehr-, Lern- und Qualifizierungs-Services für die Gründungslehre
Die Bundesrepublik Deutschland verfügt über eine im internationalen Vergleich geringe Gründungsquote. Beim Anteil der 18-64-Jährigen, die in 2006 ein Unternehmen gründeten, liegt Deutschland nach GEM Länderbericht 2006 (Sternberg et al. 2006) mit 2,9% auf Rang 34 unter 42 Ländern. In Ostdeutschland ist diese Quote mit 1,7 nur halb so hoch wie in Westdeutschland. Hinsichtlich der Selbständigenqu...
متن کامل